/* BAUZENTRUM RETZMANN - STABLE VERSION 3.0 */
import React, { useState, useEffect } from 'react';
import {
Phone, Mail, Clock, MapPin, Menu, X, ChevronDown,
Hammer, Home, Truck, Users, ArrowRight, CheckCircle2,
Star, Layers, Leaf, Maximize, Lightbulb, MessageSquare,
Palette, ChevronLeft, ChevronRight, User, Printer, Quote
} from 'lucide-react';
const App = () => {
// --- STATE ---
const [isMenuOpen, setIsMenuOpen] = useState(false);
const [currentView, setCurrentView] = useState('home');
const [scrolled, setScrolled] = useState(false);
const [activeExhibitionTab, setActiveExhibitionTab] = useState('Garten');
const [mobileSubmenu, setMobileSubmenu] = useState(null);
const [currentHeroSlide, setCurrentHeroSlide] = useState(0);
const [themeColor, setThemeColor] = useState('red');
const [showThemePicker, setShowThemePicker] = useState(false);
// --- THEME CONFIGURATION ---
const theme = {
red: {
bg: 'bg-red-600',
bgHover: 'hover:bg-red-700',
text: 'text-red-600',
textHover: 'hover:text-red-700',
border: 'border-red-600',
borderLight: 'border-red-100',
bgLight: 'bg-red-50',
shadow: 'shadow-red-600/20',
from: 'from-red-500',
},
blue: {
bg: 'bg-blue-600',
bgHover: 'hover:bg-blue-700',
text: 'text-blue-600',
textHover: 'hover:text-blue-700',
border: 'border-blue-600',
borderLight: 'border-blue-100',
bgLight: 'bg-blue-50',
shadow: 'shadow-blue-600/20',
from: 'from-blue-500',
},
green: {
bg: 'bg-emerald-600',
bgHover: 'hover:bg-emerald-700',
text: 'text-emerald-600',
textHover: 'hover:text-emerald-700',
border: 'border-emerald-600',
borderLight: 'border-emerald-100',
bgLight: 'bg-emerald-50',
shadow: 'shadow-emerald-600/20',
from: 'from-emerald-500',
}
}[themeColor];
// --- EFFECTS ---
useEffect(() => {
const handleScroll = () => setScrolled(window.scrollY > 20);
window.addEventListener('scroll', handleScroll);
return () => window.removeEventListener('scroll', handleScroll);
}, []);
// --- NAVIGATION ---
const navigateTo = (viewId) => {
setCurrentView(viewId);
setIsMenuOpen(false);
window.scrollTo({ top: 0, behavior: 'smooth' });
};
const scrollToSection = (id) => {
setIsMenuOpen(false);
if (currentView !== 'home') {
setCurrentView('home');
setTimeout(() => {
const el = document.getElementById(id);
if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
}, 100);
} else {
const el = document.getElementById(id);
if (el) el.scrollIntoView({ behavior: 'smooth', block: 'start' });
}
};
// --- CONTENT DATA ---
const heroSlides = [
{
image: "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Home/Slider/ProfikundenWebbanner1920x600Kompetenz201907261148.png",
title: "Unsere Leute. Deine Kompetenz.",
subtitle: "Das ist Profi-Partnerschaft!"
},
{
image: "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Home/Slider/_MG_7130_cropped.jpg",
title: "Leistungsfähiger Fuhrpark",
subtitle: "Pünktlich und zuverlässig auf Ihrer Baustelle."
},
{
image: "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Home/Slider/_MG_7136_cropped.jpg",
title: "Umfangreiches Warenlager",
subtitle: "Alles sofort verfügbar für Ihr Projekt."
},
{
image: "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Home/Slider/Schuettgutboxen_cropped.jpg",
title: "Schüttgutlager Kleinmenge",
subtitle: "Flexibel und passgenau für jeden Bedarf."
}
];
// Slider Auto-Play (8s)
useEffect(() => {
const timer = setInterval(() => {
setCurrentHeroSlide((prev) => (prev + 1) % heroSlides.length);
}, 8000);
return () => clearInterval(timer);
}, []);
const nextHeroSlide = () => setCurrentHeroSlide((prev) => (prev + 1) % heroSlides.length);
const prevHeroSlide = () => setCurrentHeroSlide((prev) => (prev === 0 ? heroSlides.length - 1 : prev - 1));
// --- RENDER HELPERS ---
const handleImageError = (e) => {
e.target.src = "https://images.unsplash.com/photo-1503387762-592deb58ef4e?q=80&w=2689&auto=format&fit=crop";
e.target.alt = "Platzhalter Bild";
};
const departments = [
{ title: "Trockenbau", icon: Home, image: "https://images.unsplash.com/photo-1581094794329-cd136ce4dad5?q=80&w=2600&auto=format&fit=crop", action: () => navigateTo('trockenbau') },
{ title: "Bauelemente", icon: Star, image: "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Ausstellungen/Bauelemente_1.jpg", action: () => navigateTo('home') },
{ title: "Baufachmarkt", icon: Hammer, image: "https://images.unsplash.com/photo-1581092160562-40aa08e78837?q=80&w=2670&auto=format&fit=crop", action: () => navigateTo('home') },
{ title: "Fliesen & Sanitär", icon: CheckCircle2, image: "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Ausstellungen/Ausstellungen_neu/Fliesen_1.png", action: () => navigateTo('home') },
{ title: "Aussenanlage", icon: Leaf, image: "https://www.retzmann-bauzentrum.de/fileadmin/_processed_/3/9/csm_JASTO_4_85f559df99.jpg", action: () => navigateTo('home') },
{ title: "Putze & WDVS", icon: Layers, image: "https://images.unsplash.com/photo-1628744876497-eb30460be9f6?q=80&w=2670&auto=format&fit=crop", action: () => navigateTo('home') },
{ title: "Dach & Fassade", icon: Home, image: "https://images.unsplash.com/photo-1632759145351-1d592919f522?q=80&w=2670&auto=format&fit=crop", action: () => navigateTo('home') },
{ title: "Roh- & Hochbau", icon: Home, image: "https://images.unsplash.com/photo-1541888946425-d81bb19240f5?q=80&w=2670&auto=format&fit=crop", action: () => navigateTo('home') },
{ title: "Tiefbau", icon: Truck, image: "https://images.unsplash.com/photo-1590486803833-1c5dc8ce8420?q=80&w=2670&auto=format&fit=crop", action: () => navigateTo('home') }
];
const contactsData = {
"Zentrale": [{ name: "Sabine Christmann", phone: "(06747) 9343-22", email: "s.christmann@retzmann-bauzentrum.de" }],
"Baufachmarkt": [{ name: "Theo Muders", phone: "(06747) 9343-26", email: "t.muders@retzmann-bauzentrum.de" }],
"Trockenbau": [{ name: "Ralph Engel", phone: "(06747) 9343-15", email: "r.engel@retzmann-bauzentrum.de" }],
"Buchhaltung": [{ name: "Jennifer Barthel", phone: "(06747) 9343-10", email: "j.barthel@retzmann-bauzentrum.de" }]
};
const historyData = [
{ year: '1971', text: 'Entstehung als Niederlassung Mat. Kröll GmbH & Co.' },
{ year: '1988', text: 'Eröffnung unseres Baufachmarktes in Boppard.' },
{ year: '2009', text: 'Umfirmierung zur Bauzentrum Retzmann GmbH.' },
{ year: 'Heute', text: '14 Mitarbeiter, eigener Fuhrpark mit Kranfahrzeugen.' }
];
const exhibitions = {
"Garten": ["https://www.retzmann-bauzentrum.de/fileadmin/_processed_/3/9/csm_JASTO_4_85f559df99.jpg", "https://www.retzmann-bauzentrum.de/fileadmin/_processed_/2/c/csm_JASTO_5_e180433b18.jpg"],
"Fliesen": ["https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Ausstellungen/Ausstellungen_neu/Fliesen_1.png", "https://www.retzmann-bauzentrum.de/fileadmin/user_upload/Retzmann/seiten/Ausstellungen/Ausstellungen_neu/Fliesen_2.png"]
};
const guidesData = [
{ title: "Gartenmöbel", desc: "Verwandeln Sie Ihren Garten in ein Wohnzimmer.", img: "https://api.eurobaustoff.de/cgi-bin/infomam_ws/services/rs2/cs/csimg?mid=20230321.8334b61c-4d33-4aa6-a914-764a70cdca3d&format=21%3A9&w=800" },
{ title: "Pools & Co.", desc: "Ein Pool ist wie ein Freibad zu Hause – nur besser.", img: "https://api.eurobaustoff.de/cgi-bin/infomam_ws/services/rs2/cs/csimg?mid=20230321.8334b61c-4d33-4aa6-a914-764af0003557&format=21%3A9&w=800" },
{ title: "Licht im Garten", desc: "Laue Sommerabende auf der Terrasse.", img: "https://api.eurobaustoff.de/cgi-bin/infomam_ws/services/rs2/cs/csimg?mid=20230321.db6e552f-06ae-91b6-a914-464ba09e942e&format=21%3A9&w=800" }
];
const navStructure = [
{ title: "Start", action: () => navigateTo('home') },
{ title: "Aktuelles", items: ["Angebote", "Restposten", "Neuigkeiten"] },
{ title: "Fachabteilungen", items: departments.map(d => ({ name: d.title, action: d.action })) },
{ title: "Ausstellungen", action: () => navigateTo('ausstellungen') },
{ title: "Ratgeber", link: "#guides", action: () => scrollToSection('guides') },
{ title: "Service", items: ["Serviceleistungen", "Ansprechpartner", "Lieferservice"] },
{ title: "Über uns", items: ["Bauzentrum Retzmann", "Anfahrt", "Öffnungszeiten"] }
];
return (
{/* TOP BAR */}
Halsenbach
Mo-Fr 7:00-18:00
+49 6747 9343 - 0
{/* HEADER */}
{/* === CONTENT VIEWS === */}
{/* VIEW: HOME */}
{currentView === 'home' && (
{/* HERO */}
i&M Bauzentrum Partner
{heroSlides[currentHeroSlide].title}
{heroSlides[currentHeroSlide].subtitle}
{/* DEPARTMENTS TEASER */}
Alles für Ihr Projekt
Unsere Fachabteilungen
{departments.slice(0,6).map((dept, i) => (
))}
{/* GOOGLE REVIEWS */}
Kundenstimmen
Was unsere Kunden sagen
{[1,2,3,4,5].map(i => )}
4,4 von 5 Sternen auf Google (138 Rezensionen)
"Sehr zuvorkommend, freundlich, große Auswahl und gute Preise."
- Google Nutzer
"Kompetente Beratung und schnelle Lieferung. Genau der richtige Partner."
- Stammkunde
"Top Service im Lager. Hilfsbereit beim Beladen."
- Handwerksbetrieb Müller
Bewertung schreiben
{/* HISTORY */}
Über uns
Wachstum durch Beständigkeit.
Was 1971 als Niederlassung begann, ist heute ein fester Bestandteil der regionalen Bauwirtschaft.
{historyData.map((item, i) => (
))}
)}
{/* VIEW: TROCKENBAU */}
{currentView === 'trockenbau' && (
Trockenbau
Lösungen für Wand, Decke & Boden.
Unser Sortiment
{["Brandschutz", "Schallschutz", "Akustikdecken", "Technische Elemente"].map((item, i) => (
- {item}
))}
)}
{/* VIEW: ANSPRECHPARTNER */}
{currentView === 'ansprechpartner' && (
Ihre Ansprechpartner
Finden Sie den richtigen Experten.
{Object.entries(contactsData).map(([dept, people]) => (
{dept}
{people.map((p, i) => (
))}
))}
)}
{/* VIEW: AUSSTELLUNGEN */}
{currentView === 'ausstellungen' && (
Unsere Ausstellungen
Lassen Sie sich inspirieren.
{Object.keys(exhibitions).map(tab => (
))}
{exhibitions[activeExhibitionTab].map((src, i) => (

))}
)}
{/* VIEW: RATGEBER */}
{currentView === 'home' && (
Tipps & Tricks
Ratgeber
{guidesData.map((guide, i) => (
{guide.title}
{guide.desc}
Lesen
))}
)}
{/* FOOTER */}
);
};
export default App;